/*
* @Author: Karry
* @Date:   2017-11-05 09:44:58
* @Last Modified by:   Karry
* @Last Modified time: 2017-11-05 13:39:48
*/

require('./index.css');
require('page/common/nav/index.js');
require('page/common/header/index.js');
var navSide       = require('page/common/nav-side/index.js');
var _db           = require('util/db.js');
var _order        = require('service/order-service.js');
var templateIndex = require('./index.string');

// page 逻辑部分
var page = {
    data : {
        orderNumber : _db.getUrlParam('orderNumber')
    },
    init : function(){
        this.onLoad();
        this.bindEvent();
    },
    onLoad : function(){
        // 初始化左侧菜单
        navSide.init({
            name : 'order-list'
        });
        // 加载detail数据
        this.loadDetail();
    },
    bindEvent : function(){
        var _this = this;
        $(document).on('click', '.order-cancel', function(){
            if (window.confirm('确定取消该订单吗？')) {
                _order.cancelOrder(_this.data.orderNumber, function(res){
                    _db.successTips('订单取消成功');
                    _this.loadDetail();
                }, function(errMsg){
                    _db.errorTips(errMsg);
                }); 
            }
        });
    },
    // 加载订单列表
    loadDetail : function(){
        var _this               = this,
            orderDetailHtml     = '',
            $content            = $('.content');
        $content.html('<div class="loading"></div>');
        _order.getOrderDetail(this.data.orderNumber, function(res){
            _this.dataFilter(res);
            // 渲染HTML
            orderDetailHtml = _db.renderHtml(templateIndex, res);
            $content.html(orderDetailHtml);
        }, function(errMsg){
            $content.html('<p class="err-tip">' + errMsg + '</p>');
        });
    },
    // 数据的适配
    dataFilter : function(data){
        data.needPay      = data.status == 10;
        data.isCancelable = data.status == 10;
    }
};
$(function(){
    page.init();
});